The present invention is directed to systems for simulating acoustical characteristics such as reverberation. More specifically, the present invention is directed to a system for generating a simulated reverberation signal in electronic musical instruments.
In a natural acoustic environment, for example, a concert hall where a group of listeners may be enjoying a large symphony orchestra or an organ performance, each listener in the auditorium is having a unique experience as a result of his or her location in the hall. Those located near the source of the sound are aware of that closeness due to the presence of sound that is localized in some area of the room. Conversely, those at a greater distance may be less able to focus on the sound but rather feel that it is spread over a wider area. However, all in the hall will experience the spaciousness of the room as the sounds are subtly blurred by the many and various paths taken by the sound from its source to the listener""s ear. Further, when all the sounds cease to emanate from the source, that which is heard as the remaining energy gradually dies away revealing a degree of spaciousness.
There has been much work done in trying to electronically synthesize the reverberation characteristics of notable concert halls in an attempt to impart those qualities to instruments found in smaller quarters. Much of the pioneering effort on this subject was done by M. R. Schroeder, as documented in a paper published in the Journal Of The Audio Engineering Society, July 1962. At the time of that publication the essential resources to accomplish this task were not available to the extent required to produce a convincing result, at least by today""s standards. Over the intervening years, integrated circuits, particularly memory devices and signal processors, have become increasingly more available and capable of operating at ever greater speeds. These developments have contributed to overcoming many of the deficiencies of prior reverberation systems.
Various reverberation systems have been disclosed in several U.S. patents. These include U.S. Pat. No. 5,498,835 to Ichiki which discloses a digital signal processing apparatus including a reverberation effecting circuit. As illustrated in FIG. 5 of that patent, an input signal TC7 is fed to an initial reflecting tone generator section 60 in the reverberation effecting circuit. The initial tone generator produces an initial reflection tone TC1 and TC2 which serves as a portion of the total reverberation characteristic. The reflection tone is obtained by first inputting the initial sound into several delay elements DM1. An output signal DC2-DC9 is then read from the delay elements DM1 and fed to a plurality of multipliers KC5-KC12. The output of the multipliers is summed to provide the initial reflection tone TC1 and TC2. Another output DC10 from the initial tone generator 60 represents the initial input signal TC7 delayed by the delay elements DM1. This signal DC10 is then fed to the reverberating tone generator 61. The reverberating tone generator generates a final reverberation tone TC3 and TC4 which forms another portion of the reverberation characteristic. This is achieved by splitting the input signal to the reverberation generator and feeding the split signals TC5 and TC6 to two parallel comb filters DM2 and DM3. The summed output of the comb filters provides the output for the reverberation tone generator TC3 and TC4. The original input signal left and right, the initial reflecting tone generator output TC1 and TC2, and the reverberation tone generator output TC3 and TC4 are summed to provide Left Output and Right Output signals with the reverberation characteristic. However, in this system the left and right audio signals are combined in a straightforward manner. This system does not take into account the potential for audio signals which will cancel each other out.
U.S. Pat. No. 5,272,274 to Kimura discloses an apparatus for imparting reverberation to an input sound including a series of shift register delay elements, multipliers, and adders in a feedback loop. The shift registers provide variable delay periods. The reverberation time period, tone volume, frequency characteristic, and density are controlled by the multiplier coefficients and the number of stages in each shift register. This system also fails to take into consideration that different input signals with the same or similar frequencies which will result in a cancellation effect at the adder which sums the input signals.
U.S. Pat. No. 5,689,571 to Kitamura discloses a device for producing reverberation wherein two early reflection sounds and a reverberation sound are generated from an original sound to produce a full reverberation sound. The early reflection sound and the reverberation sound are produced using separate digital signal processors. The device can therefore process the sounds in different modes without any limitation in time.
U.S. Pat. No. 5,555,306 to Gerzon discloses a signal processing system which produces a distance effect for a source signal. The system inputs the source signal to a sequence of delays and early reflection simulators. The output of the delays and the simulators are summed to provide an enhanced signal.
These systems fail to adequately take into consideration the likelihood that multi-channel audio signals will include multiple tones which have the same or similar frequencies. Without addressing this situation, the output signal will fail to incorporate the fullness of the input signal.
The present invention provides a method and apparatus for generating a simulated reverberation signal having a plurality of output channels.
The method of the present invention for generating a simulated reverberation signal having a plurality of output channels comprises receiving an audio input signal having a plurality of channels wherein each channel transmits time-synchronized audio data elements representative of the audio sound upon which one wishes to impart the reverberation. The synchronized data elements from the plurality of channels form a data element set. Each data element is given a unique delay. The data elements, each having a unique delay are then passed through a series of several delay elements, repeatedly delaying the data element set. During the delay of the data element set a plurality of early reflection taps are associated with the data element set. Each of the taps comprises a plurality of latch elements equal in number to the number of output channels. Each of the taps is coupled to a distinct linear combination of the data elements at distinct delay periods. Thereafter, the distinct linear combination of the data elements is read into the respective tap. Each tap then outputs a tap output set comprising the distinct linear combination of the data elements.
Thereafter, a uniquely ordered combination of the repeatedly delayed data element set is input to each one of a plurality of summing filters. Each uniquely ordered combination of the repeatedly delayed data element set comprises a plurality of complementary subsets. Within each summing filter each one of the complementary subsets is input into one of a plurality of individual filters. The outputs of the plurality of individual filters of each summing filter are combined and this combination is output from the summing filter.
The simulated reverberation signal is generated having a plurality of output channels. Each output channel comprises a predetermined summation of the outputs of the summing filters, the tap output set element of each of the plurality of taps which corresponds to the output channel and a preselected combination of the time-synchronized data elements of the audio input signal.
The system for generating a simulated reverberation signal having a plurality of output channels comprises a preprocessor stage, a diffused field processor stage and a post processor stage. The preprocessor stage receives the audio input signal and comprises a channel assignment module (CAM), a series of a plurality of memory elements connected to the CAM, and a plurality of early reflection taps. As described above, the audio input signal comprises a plurality of time-synchronized audio data elements forming a data element set. The CAM receives the audio signal and imparts a unique delay to each element of the set of synchronized data elements. The plurality of memory elements includes a first memory element which receives the set of data elements output by the CAM. The data element set is passed from memory element to memory element, each memory element imparting a delay to the data element set. Each early reflection tap has a plurality of latch elements equal to the number of output channels. Each tap is coupled to the series of memory elements at a unique delay period such that the plurality of latch elements of each tap align with a unique linear combination of data elements and each tap reads in the unique linear combination of data elements and outputs a tap data output set comprising the unique linear combination of data elements.
The diffused field processor stage receives the set of delayed data elements and comprises a first processor or generator, a memory element connected to the processor/generator, and a plurality of summing filters connected to the processor/generator. The processor/generator receives the delayed data element set. The processor/generator generates a set of individually unique combinations of the delayed data elements. Each unique combination comprises a plurality of complementary subsets. Each of the summing filters includes a plurality of individual filters equal in number to the plurality of complementary subsets. For each summing filter, the outputs of the individual filters are summed and output from the summing filter. The processor/generator transfers to each of the summing filters a distinct one of the elements of the combinations set and therein each of the complementary subsets is input to a distinct individual filter. The output of each summing filter is output from the processor stage.
The post processor stage receives the output of each summing filter, tap data set of each tap, and a preselected combination of the time-synchronized data elements of the audio input signal and comprises a processor/combiner and a plurality of adders connected to the processor/combiner. The processor/combiner receives the output of each summing filter, the tap data set of each tap, and the preselected combination of the time-synchronized data elements. The processor/combiner, combines the outputs of the summing filter into a sum output set, wherein the number of elements of the sum output set is equal to the number of output channels. For each of the output channels, the processor/combiner transfers to one of the adders a distinct element of the sum output set, the tap data set element of each of the plurality of taps which corresponds to the particular output channel, and a preselected combination of the time-synchronized data elements. Each adder then adds the received elements and provides an output corresponding to the particular output channel. The output of the plurality of adders is the simulated reverberation signal.